package Package.GenericA;

import java.util.ArrayList;
import java.util.Collection;
import java.util.Iterator;

public class Generic_A {
    public static void Generic_A(){
//泛型定义格式
//<类型>：指定一种类型的格式。这里的类型可以看成是形参
//<类型1,类型2…>：指定多种类型的格式，多种类型之间用逗号隔开。这里的类型可以看成是形参
//将来具体调用时候给定的类型可以看成是实参，并且实参的类型只能是引用数据类型
//泛型的好处
//把运行时期的问题提前到了编译期间
//避免了强制类型转换
//        创建集合对象
        Collection<String> c= new ArrayList<>();
        c.add("Hello");
        c.add("World");
        c.add("Java");
//        c.add(100);//将问题提前
        Iterator it=c.iterator();
        while (it.hasNext()){
//            Object obj = it.next();
//            System.out.println(obj);
            String s=(String) it.next();
            System.out.println(s);//ClassCastException
        }
    }
}
